package com.richstonedt.smartcity.xaytsccommoncs.util;

import org.springframework.web.multipart.MultipartFile;

import javax.imageio.ImageIO;
import java.awt.*;

/**
 * <b><code>ImageTypeCheck</code></b>
 * <p/>
 * Description 检查文件是否为图片
 * <p/>
 * <b>Creation Time:</b> 2022/3/30 22:15:29
 *
 * @author tangjiahuan
 * @since xaytsc-common-be
 */
public class ImageTypeCheck {

    /**
     * 通过读取文件并获取其width及height的方式，来判断判断当前文件是否图片，这是一种非常简单的方式。
     *
     * @param file 文件对象
     * @return 是否为图片
     */
    public static boolean isImage(MultipartFile file) {
        if (file.isEmpty()) {
            return false;
        }
        try {
            Image img = ImageIO.read(file.getInputStream());
            return img != null && img.getWidth(null) > 0 && img.getHeight(null) > 0;
        } catch (Exception e) {
            return false;
        }
    }

}
